<?php
/**
 * PagingTextFileBean.class.php
 * 
 * (C) 2009, tetsuya.odaka(EzoGP).
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

/* 
 * ページングする画面を生成するためのオブジェクト（ページャー）です。
 *   Myznala/AbstructTextPagingBeanを継承しています。
 *  
 * author；	t.odaka
 * date ;	2005/10/07
 * 
 * modified; 	2009/3/13	t.odaka
 * 				2009/5/25	t.odaka	不要なコメント行を削除
 *
 * 
*/
	require_once('../Myznala/AbstructTextPagingBean.class.php');
	require_once('AnswerTextBean.class.php');
	
	class PagingTextFileBean extends AbstructTextPagingBean{
		
		// コンストラクタ
		function __construct(){
			parent::__construct(); /* 親クラスのコンストラクタを呼び出す */
		}
	
		/* 指定されたページへ遷移する */
		function goPage($goto){
		
			// データを保存・操作するオブジェクト(DAO)を生成
			require_once('AnswerTextBean.class.php');
			$pObj=new AnswerTextBean();
			$pObj->setFileName('data/sample_data.txt');
	
			// ファイルポインタを取得する。
			$fp = $pObj->fileOpen("r");
			// データの取得
			$ret = $pObj->getAll($fp);
			// ファイルポインタを解放する。
			$pObj->fileClose($fp,'r');

			$_rNum=count($ret);
			
			// ページ指定された分だけオフセットして結果配列に保存する。
			$start = ($goto - 1)*10;
			$endofloop = min($_rNum,($start+10));

			$result_array=array();
			for($i=$start;$i<$endofloop;$i++){
				$result_array[$i]=$ret[$i];
			
			}
			
			return $result_array;
		}
	}
?>